f2fs-tools: add package
authorLuka Perkov <[email protected]>
Wed, 10 Dec 2014 14:02:53 +0000 (15:02 +0100)
committerLuka Perkov <[email protected]>
Wed, 10 Dec 2014 14:03:07 +0000 (15:03 +0100)
Signed-off-by: Luka Perkov <[email protected]>
utils/f2fs-tools/Config.in [new file with mode: 0644]
utils/f2fs-tools/Makefile [new file with mode: 0644]
utils/f2fs-tools/patches/001-compile.patch [new file with mode: 0644]

diff --git a/utils/f2fs-tools/Config.in b/utils/f2fs-tools/Config.in
new file mode 100644 (file)
index 0000000..0c7ecab
--- /dev/null
@@ -0,0 +1,25 @@
+menu "Configuration"
+        depends on PACKAGE_f2fs-tools
+
+config F2FS_UTILS_f2fstat
+       bool "Install f2fstat utility"
+       default y
+
+config F2FS_UTILS_fibmap_f2fs
+       bool "Install fibmap.f2fs utility"
+       default y
+
+config F2FS_UTILS_fsck_f2fs
+       bool "Install fsck.f2fs utility"
+       default y
+
+config F2FS_UTILS_dump_f2fs
+       bool "Install dump.f2fs utility"
+       select F2FS_UTILS_fsck_f2fs
+       default y
+
+config F2FS_UTILS_mkfs_f2fs
+       bool "Install mkfs.f2fs utility"
+       default y
+
+endmenu
diff --git a/utils/f2fs-tools/Makefile b/utils/f2fs-tools/Makefile
new file mode 100644 (file)
index 0000000..62d5155
--- /dev/null
@@ -0,0 +1,89 @@
+#
+# Copyright (C) 2014 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=f2fs-tools
+PKG_VERSION:=1.4.0
+PKG_RELEASE:=1
+
+PKG_LICENSE:=GPLv2
+
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_SOURCE_URL:=http://git.kernel.org/cgit/linux/kernel/git/jaegeuk/f2fs-tools.git/snapshot/
+PKG_MD5SUM:=be9bfdddf3e5fd5e701a88d0b388dc26
+
+PKG_FIXUP:=autoreconf
+PKG_BUILD_PARALLEL:=1
+PKG_INSTALL:=1
+
+PKG_MAINTAINER:=Luka Perkov <[email protected]>
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/f2fs-tools
+  SECTION:=utils
+  CATEGORY:=Utilities
+  SUBMENU:=Filesystem
+  TITLE:=Tools for Flash-Friendly File System (F2FS)
+  DEPENDS:=+libuuid +libf2fs
+  URL:=http://git.kernel.org/cgit/linux/kernel/git/jaegeuk/f2fs-tools.git
+  MENU:=1
+endef
+
+define Package/libf2fs
+  $(call Package/lxc/Default)
+  SECTION:=libs
+  CATEGORY:=Libraries
+  TITLE:=Library for Flash-Friendly File System (F2FS) tools
+  DEPENDS:=
+endef
+
+define Package/f2fs-tools/config
+  source "$(SOURCE)/Config.in"
+endef
+
+define Package/libf2fs/install
+       $(INSTALL_DIR) $(1)/usr/lib
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/libf2fs.so* $(1)/usr/lib/
+endef
+
+define Package/f2fs-tools/install
+       $(INSTALL_DIR) $(1)/usr/sbin
+
+ifeq ($(CONFIG_F2FS_UTILS_f2fstat),y)
+       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/sbin/f2fstat $(1)/usr/sbin
+endif
+
+ifeq ($(CONFIG_F2FS_UTILS_fibmap_f2fs),y)
+       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/sbin/fibmap.f2fs $(1)/usr/sbin
+endif
+
+ifeq ($(CONFIG_F2FS_UTILS_fsck_f2fs),y)
+       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/sbin/fsck.f2fs $(1)/usr/sbin
+endif
+
+ifeq ($(CONFIG_F2FS_UTILS_dump_f2fs),y)
+       ln -s /usr/sbin/fsck.f2fs $(1)/usr/sbin/dump.f2fs
+endif
+
+ifeq ($(CONFIG_F2FS_UTILS_mkfs_f2fs),y)
+       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/sbin/mkfs.f2fs $(1)/usr/sbin
+endif
+
+endef
+
+define Build/InstallDev
+       $(INSTALL_DIR) $(1)/usr/include
+       $(CP) $(PKG_BUILD_DIR)/include/*.h $(1)/usr/include/
+       $(INSTALL_DIR) $(1)/usr/lib
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/libf2fs.so* $(1)/usr/lib/
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/libf2fs.a $(1)/usr/lib/
+endef
+
+$(eval $(call BuildPackage,libf2fs))
+$(eval $(call BuildPackage,f2fs-tools))
diff --git a/utils/f2fs-tools/patches/001-compile.patch b/utils/f2fs-tools/patches/001-compile.patch
new file mode 100644 (file)
index 0000000..2ff6ee8
--- /dev/null
@@ -0,0 +1,19 @@
+--- a/configure.ac
++++ b/configure.ac
+@@ -20,14 +20,9 @@ AC_DEFINE([F2FS_MINOR_VERSION], m4_bpats
+                               [\([0-9]*\).\([0-9]*\)\(\w\|\W\)*], [\2]),
+                               [Minor version for f2fs-tools])
+-AC_CHECK_FILE(.git,
+-      AC_DEFINE([F2FS_TOOLS_DATE],
+-              "m4_bpatsubst(f2fs_tools_gitdate,
+-              [\([0-9-]*\)\(\w\|\W\)*], [\1])",
+-              [f2fs-tools date based on Git commits]),
+-      AC_DEFINE([F2FS_TOOLS_DATE],
++AC_DEFINE([F2FS_TOOLS_DATE],
+               "f2fs_tools_date",
+-              [f2fs-tools date based on Source releases]))
++              [f2fs-tools date based on Source releases])
+ AC_CONFIG_SRCDIR([config.h.in])
+ AC_CONFIG_HEADER([config.h])